/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package modele;

/**
 * Classe représentant les propriétés Service
 * @author EpsilonE
 */
public class Service extends Propriete
{
    public Service(String No, int Nu, Groupe Tg, int Pr, int Lo, boolean achetable, boolean aVendre) 
    {
        super(No, Nu, Tg, Pr, Lo, achetable, aVendre);
    }
    
    /**
     * le loyer est calculé en fonction de la valeur des dés
     * @param nbService
     * @param lanceDes
     * @return 
     */
    public int calculLoyer(int nbService, int lanceDes)
    {
        int resultat = loyer;
        
        switch(nbService)
        {
            case 1 : resultat *= 4 * lanceDes;
            break;
            case 2 : resultat *= 10  * lanceDes;
            break;
        }
        
        return resultat;
    }
    
    @Override
    /**
     * Fonction qui définit la nouvelle case courant du joueur
     * @param j Joueur ayant tiré la carte
     * @param p Plateau du jeu
     */
    public void effet(Joueur j, Plateau p) 
    {
        if(aVendre)
        {
            if(j.getSolde() >= prix)
            {
                j.diminuerSolde(prix);
                proprietaire = j;
                aVendre = false;
                j.addPropriete(this);
            }
        }
        
        else
        {
            if(!j.equals(proprietaire))
            {
                int loyer = calculLoyer(1,j.getValeurDes());
                proprietaire.augmenterSolde(loyer);
                j.diminuerSolde(loyer);
            }
        }
    }
    
}
